package com.aurora.leetcode.answer;

/**
 * @author : Aurora
 * @date : 2024/3/30 16:26
 * @description
 * 给定一个已排序的链表的头 head ， 删除所有重复的元素，使每个元素只出现一次 。返回 已排序的链表 。
 *
 * 链表中节点数目在范围 [0, 300] 内
 * -100 <= Node.val <= 100
 * 题目数据保证链表已经按升序 排列
 */
public class DeleteLinkedListDuplicateEle_83 {

   class ListNode {
     int val;
     ListNode next;
      ListNode() {}
      ListNode(int val) { this.val = val; }
      ListNode(int val, ListNode next) { this.val = val; this.next = next; }
  }

    public ListNode deleteDuplicates(ListNode head) {
       if(head==null || head.next == null){
           return head;
       }
        ListNode lastNode = new ListNode(-9999, null);
        ListNode p = head;
       while(p != null){
           //当前值与前一个值重复
           if(p.val == lastNode.val){
               lastNode.next = p.next;
           }else{
               lastNode = p;
           }
           p = p.next;
       }
       return head;
    }


}
